5.9. Binutils-2.24 - Pass 2

El paquete Binutils contiene un enlazador, un ensamblador y otras utilidades para trabajar con objetos del sistema.

Tiempo aproximado de construcción: 1.1 SBU
Espacio requerido en disco: 417 MB

5.9.1. Instalación de Binutils

Crea un directorio de construcción dedicado :

mkdir -v ../binutils-build
cd ../binutils-build

Prepara Binutils para su compilación:

CC=$LFS_TGT-gcc                \
AR=$LFS_TGT-ar                 \
RANLIB=$LFS_TGT-ranlib         \
../binutils-2.24/configure     \
    --prefix=/tools            \
    --disable-nls              \
    --with-lib-path=/tools/lib \
    --with-sysroot

El significado de las nuevas opciones de configure:

CC=$LFS_TGT-gcc AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib

Debido a que esto es realmente una construcción natural de Binutils , establecer estas variables asegura que el sistema en construcción utilice el compilador cruzado y herramientas asociadas al mismo en lugar de los que están en el sistema anfitrión.

--with-lib-path=/tools/lib

Esto le indica al script configure que especifique la ruta de búsqueda de bibliotecas durante la compilación de Binutils , resultando en /tools/lib la cual se pasa al enlazador . Esto evita que el enlazador busque en los directorios de librerías del anfitrión .

--with-sysroot

La característica sysroot permite al enlazador encontrar objetos compartidos que son requeridos por otros objetos compartidos explícitamente incluidos en la línea de comandos del enlazador . Sin esto, algunos paquetes no pueden construirse con éxito en algunos hosts .

Compila el paquete:

make

Instala el paquete:

make install

Prepara el enlazador para la fase de "Reajuste " en el capítulo siguiente:

make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
cp -v ld/ld-new /tools/bin

El significado de los parámetros de make:

-C ld clean

Esto le indica al programa make que elimine todos los archivos compilados en el subdirectorio ld .

-C ld LIB_PATH=/usr/lib:/lib

Esta opción lo reconstruye todo dentro del subdirectorio ld . Especificar la variable LIB_PATH Makefile en la línea de comandos nos permite obviar su valor por defecto de las herramientas temporales y apuntar a nuestro camino final adecuada. El valor de esta variable especifica la ruta de búsqueda de librerías por defecto del enlazador . Esta preparación se utiliza en el siguiente capítulo .

Los detalles sobre este paquete se encuentran en la Sección 6.13.2 , "Contenido de Binutils ".